// 2025/7/21
// 重排字符串

#include <iostream>
#include <vector>
using namespace std;

bool resort(int n, string& str)
{
    vector<int> count(26, 0);
    for(auto ch : str)
    {
        count[ch - 'a']++;
    }
    int k = 0;
    for(int i = 0; i < 26; i++)
    {
        if(count[i] > (n + 1) / 2)
        {
            return false;
        }
        if(count[i] == (n + 1) / 2 && n % 2 == 1)
            k = i;
    }

    for(int i = 0; i < n; i += 2)
    {
        while(count[k] == 0)
            k = (k + 1) % 26;
        str[i] = k + 'a';
        count[k]--;
    }
    for(int i = 1; i < n; i += 2)
    {
        while(count[k] == 0)
            k = (k + 1) % 26;
        str[i] = k + 'a';
        count[k]--;
    }
    return true;
}

int main() {
    int n, tmp; cin >> n;
    string str; cin >> str;

    if(resort(n, str))
    {
        cout << "yes" << endl;
        cout << str << endl;
    }
    else 
    {
        cout << "no" << endl;
    }
}
// 64 位输出请用 printf("%lld")